package cfca.paperless.client.servlet._5_query._5_03_DownloadTempPdf;

import cfca.paperless.client.servlet.PaperlessClient;
import cfca.paperless.client.servlet.PaperlessConfig;
import cfca.paperless.client.util.IoUtil;
import cfca.paperless.client.util.PaperlessUtil;

/**
 * @Description 下载单据接口，使用示例。
 * 1，下载对象为在签章接口中指定<SavedPdfId>的内容的情况下在数据库的临时表中保存的已签章的PDF合同文件。
 * 2，返回数据库的临时表中保存的已签章的PDF合同文件。
 * 
 * @Author dell
 * @Date 2016-5-13
 * @CodeReviewer TODO
 */
public class DownloadTempPdfTest01 {

    public static void main(String[] args) throws Exception {

        long timeStart = System.currentTimeMillis();// 开始时间

        System.out.println("DownloadTempPdfTest01 START");
        
        String pdfId = "2017070709524128751877074554260";// 数据库的临时表中保存的已签章的PDF合同文件，【temp_file_pdf】-【PDF_ID】
        
        String url = PaperlessConfig.queryUrl + "?pdfId=" + pdfId;
        
        PaperlessClient clientBean = new PaperlessClient(url, 10000, 60000);// 无纸化查询接口的访问URL

        byte[] pdf = clientBean.reqAndRes2("");
        
        String errorRsString = PaperlessUtil.isError(pdf);

        // 处理结果为正常，保存PDF合同文件到本地目录下
        if ("".equals(errorRsString)) {
            System.out.println("DownloadTempPdfTest01 END OK");
            
            System.out.println(pdf.length);
            IoUtil.write("./TestData/output/DownloadTempPdfTest01-" + pdfId + ".pdf", pdf);
            
        } else {
            // 处理结果为异常，打印出错误码和错误信息
            System.out.println("DownloadTempPdfTest01 END NG");
            System.out.println(new String(pdf, "UTF-8"));
        }
        
        
        long timeEnd = System.currentTimeMillis();// 结束时间
        System.out.println("##########" + "time used:" + (timeEnd - timeStart) + "##########");
    }

}
